int a[]求个数问题
来源:百度知道 编辑:UC知道 时间:2024/05/26 04:34:19
int a[]是个函数中的一个参数,如下
void outputUnqiue(int a[])
{
//怎么在这个函数里求数组a[]的个数
//sizeof(a)不行,那位大哥求教下,不知道数组的个数,outputUnqiue()只要一个参数
}
我是这样想的,如果a[]是个变长数组,当调用是不清楚他的个数的,所以有没有更好的办法来求这种数组的个数呢?
void outputUnqiue(int a[])
{
//怎么在这个函数里求数组a[]的个数
//sizeof(a)不行,那位大哥求教下,不知道数组的个数,outputUnqiue()只要一个参数
}
我是这样想的,如果a[]是个变长数组,当调用是不清楚他的个数的,所以有没有更好的办法来求这种数组的个数呢?
c里面好像没这种功能
你可以变通一下啊,比如a[0]里面不存数据,而存数组个数,处理时注意一下就是了
还可以用全局变量,当然,这个不推荐
还可以跟char数组的'\0'一样,设定一个特定数值,检测到这个数值时就知道数组结束了
个人感觉没必要,你数组定义的时候时定义长度的,赋值时也是你去赋值,也应该时知道有那些元素是赋过值的。
你也可以自己设个标志存在最后为一个元素。
c语言中没有直接的办法。但可以自己想办法解决。
1、修改函数接口,增加参数n,指定数组个数。
2、为数组设置结束标志。设置一个你的数组中不会出现的数,作为结束标志,搜索到这个数的时候就表示数组结束。如0xFFFFFFFF,或连续2个,3个,或者更多,视你需求而定。
C++的数组名当参数传递时,根本不关心数组大小,所以你根本得不到数组大小,按你的要求只能用STL中的vector
你可以在存数组的时候把数组的个数存在a[0]里面,在你函数调用的时候先读a[0]就可以了。
这个太简单了
int i = 0;//全局变量
void outputUnqiue(int a[])
{
i = 0;
while(a[i])
i++;
}
求数组int a[n]中奇数的个数和平均数?
求数组int a【n】中奇数的个数和平均值以及偶数的个数和平均值(n为输入的数) 急~!!
c++输入数组int a[10]的每一个元素,并求该数组中奇数的个数和平均值以及偶数的个数和平均值。
java问题 int a[ ]=new int[5]是什么意思
java中的数组赋值给数组问题int[ ] a=new int[10];int[ ] b=new int[8];
编写函数int fun(int a[],int n),其功能是求一维数组中前n个数的最大值,最大值作为函数返回值。
fun1(int a,int b)
int a,public int a,private int a,怎么区别?
c++数组问题 例如:int a[5]={2,10}
int a=Integer.parseInt(args[0])问题